﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using SERIX.Classes;
using Biblioteca.Utils;
using SERIX.Util;
using Biblioteca.Objetos;
using System.Data.OracleClient;
using Biblioteca.DataBase;
using Pms.Utils;

namespace SERIX
{
    public partial class Historico : Seguranca 
    {
        string _idt;

        protected void Page_Load(object sender, EventArgs e)
        {
            base.OnLoad(e);
            if (!Page.IsPostBack)
            {
                //if (!String.IsNullOrEmpty(Request["idt"]))
                //{
                //    _idt = Server.UrlDecode(Criptografia.Descriptografar(Request["idt"].ToString().Replace(" ", "+")));
                //    tbCPF.Text = Biblio.DesformateCPF(CBeneficiarios.PesquisaporCodigo(_idt, UsuAut.Login, false).Cpf);
                //    Pesquisar();
                //}
            }
           
        }      

        protected void Pesquisar(string tpo)
        {
            gvEvolucao.Dispose();
            gvEvolucao.DataSource = null;
            gvEvolucao.DataBind();
            if (tbCPF.Text != "" && Biblio.ValidaCPF(tbCPF.Text))
            {
                string login = UsuAut.Login;
                string SQL = "";
                if (tpo.Equals("B"))
                {
                   SQL = @"SELECT IDT_EVOLUCAO, Idt_Benef AS IDT, NOM_BENEF as NOME, DT_ATUAL_CADASTRO, USUARIO_FIM FROM SRX_BENEFICIARIOS_EVOL WHERE CPF = :CPF";
                   lblFiltro.Text = "Filtro: Descrição = ( " + Biblio.FormateCPF(tbCPF.Text) + " ) " + CBeneficiarios.PesquisarCpf(tbCPF.Text, UsuAut.Login).Nom_benef;
                }
                else if(tpo.Equals("P"))
                {
                    SQL = @"SELECT IDT_EVOLUCAO, Idt_prop AS IDT, NOME_PROP AS NOME, DT_ATUAL_CADASTRO, USUARIO_FIM FROM SRX_PROPRIEDADES_EVOL WHERE CPF = :CPF";
                    lblFiltro.Text = "Filtro: Descrição = ( " + Biblio.FormateCPF(tbCPF.Text) + " ) " + CPropriedades.PesquisaPeloCpf(tbCPF.Text, usuAut.Login).Nome_produtor;
                }
                OracleConnection con = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
                OracleCommand cmd = new OracleCommand(SQL, con);
                
               try
                {
                    lblErro.Visible = false;
                    con.Open();
                    cmd.Parameters.Add("CPF", OracleType.VarChar);
                    cmd.Parameters["CPF"].Value = tbCPF.Text;
                    DataTable tbl = new DataTable();
                    tbl.Load(cmd.ExecuteReader());                       
                    gvEvolucao.DataSource = tbl;
                    gvEvolucao.DataBind();
                    cmd.Parameters.Clear();
                }
                catch(Exception e)
                {
                    if (e is OracleException)
                        throw new Exception(Biblio.ObterMensagem(((OracleException)e).Code, e.Message));
                    else
                        throw new Exception(e.Message + " : " + "");                    
                }
                finally
                {
                   con.Close();                       
                }
            }
            else
            {                
                lblFiltro.Text = "Filtro:";
                lblErro.Visible = true;
                lblErro.Text = "Digite um CPF válido para a busca";
            }
            }
         
        

        protected void btnPesquisar_Click(object sender, EventArgs e)
        {            
            Pesquisar(ddlhistorico.SelectedValue);
        }

        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "view")
            {
                int linha = int.Parse(e.CommandArgument.ToString());
                string cod = gvEvolucao.DataKeys[linha]["IDT_EVOLUCAO"].ToString();
                string idt = gvEvolucao.DataKeys[linha]["IDT"].ToString();
                if (ddlhistorico.SelectedValue.Equals("B"))
                {
                    Response.Redirect("/BeneficiariosManut.aspx?OP=E&evolucao=" + Criptografia.Criptografar(cod) + "&idt=" + Criptografia.Criptografar(idt));
                }
                else if (ddlhistorico.SelectedValue.Equals("P"))
                {
                    Response.Redirect("/PropriedadesManut.aspx?OP=E&evolucao=" + Criptografia.Criptografar(cod) + "&idt_prop=" + Criptografia.Criptografar(idt));
                }
            }
        } 

        protected void gvEvolucao_RowEditing(object sender, GridViewEditEventArgs e)
        {

        }
      
    }
}
